home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK1.toast / Development Kits (Disc 1) / QuickDraw 3D / Development / Interfaces / QD3DPascalInterfaces / QD3DDrawContext.p < prev    next >
Encoding:
Text File  |  1996-11-15  |  6.9 KB  |  179 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QD3DDrawContext.p
  3.  
  4.      Contains:    Draw context class types and routines                               
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.0.6
  7.                  Release:    Universal Interfaces 2.1.5d1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT QD3DDrawContext;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __QD3DDRAWCONTEXT__}
  28. {$SETC __QD3DDRAWCONTEXT__ := 1}
  29.  
  30. {$I+}
  31. {$SETC QD3DDrawContextIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __QD3D__}
  35. {$I QD3D.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __FIXMATH__}
  41. {$I FixMath.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __GXTYPES__}
  44. {$I GXTypes.p}
  45. {$ENDC}
  46.  
  47. {$PUSH}
  48. {$ALIGN POWER}
  49. {$LibExport+}
  50.  
  51. {
  52. *****************************************************************************
  53.  **                                                                             **
  54.  **                            DrawContext Data Structures                         **
  55.  **                                                                             **
  56.  ****************************************************************************
  57. }
  58.  
  59. TYPE
  60.     TQ3DrawContextClearImageMethod  = LONGINT;
  61. CONST
  62.     kQ3ClearMethodNone            = {TQ3DrawContextClearImageMethod}0;
  63.     kQ3ClearMethodWithColor        = {TQ3DrawContextClearImageMethod}1;
  64.  
  65.  
  66. TYPE
  67.     TQ3DrawContextDataPtr = ^TQ3DrawContextData;
  68.     TQ3DrawContextData = RECORD
  69.         clearImageMethod:        TQ3DrawContextClearImageMethod;
  70.         clearImageColor:        TQ3ColorARGB;
  71.         pane:                    TQ3Area;
  72.         paneState:                TQ3Boolean;
  73.         mask:                    TQ3Bitmap;
  74.         maskState:                TQ3Boolean;
  75.         doubleBufferState:        TQ3Boolean;
  76.     END;
  77.  
  78. {
  79. *****************************************************************************
  80.  **                                                                             **
  81.  **                                DrawContext Routines                         **
  82.  **                                                                             **
  83.  ****************************************************************************
  84. }
  85. FUNCTION Q3DrawContext_GetType(drawContext: TQ3DrawContextObject): TQ3ObjectType; C;
  86. FUNCTION Q3DrawContext_SetData(context: TQ3DrawContextObject; {CONST}VAR contextData: TQ3DrawContextData): TQ3Status; C;
  87. FUNCTION Q3DrawContext_GetData(context: TQ3DrawContextObject; VAR contextData: TQ3DrawContextData): TQ3Status; C;
  88. FUNCTION Q3DrawContext_SetClearImageColor(context: TQ3DrawContextObject; {CONST}VAR color: TQ3ColorARGB): TQ3Status; C;
  89. FUNCTION Q3DrawContext_GetClearImageColor(context: TQ3DrawContextObject; VAR color: TQ3ColorARGB): TQ3Status; C;
  90. FUNCTION Q3DrawContext_SetPane(context: TQ3DrawContextObject; {CONST}VAR pane: TQ3Area): TQ3Status; C;
  91. FUNCTION Q3DrawContext_GetPane(context: TQ3DrawContextObject; VAR pane: TQ3Area): TQ3Status; C;
  92. FUNCTION Q3DrawContext_SetPaneState(context: TQ3DrawContextObject; state: TQ3Boolean): TQ3Status; C;
  93. FUNCTION Q3DrawContext_GetPaneState(context: TQ3DrawContextObject; VAR state: TQ3Boolean): TQ3Status; C;
  94. FUNCTION Q3DrawContext_SetClearImageMethod(context: TQ3DrawContextObject; method: TQ3DrawContextClearImageMethod): TQ3Status; C;
  95. FUNCTION Q3DrawContext_GetClearImageMethod(context: TQ3DrawContextObject; VAR method: TQ3DrawContextClearImageMethod): TQ3Status; C;
  96. FUNCTION Q3DrawContext_SetMask(context: TQ3DrawContextObject; {CONST}VAR mask: TQ3Bitmap): TQ3Status; C;
  97. FUNCTION Q3DrawContext_GetMask(context: TQ3DrawContextObject; VAR mask: TQ3Bitmap): TQ3Status; C;
  98. FUNCTION Q3DrawContext_SetMaskState(context: TQ3DrawContextObject; state: TQ3Boolean): TQ3Status; C;
  99. FUNCTION Q3DrawContext_GetMaskState(context: TQ3DrawContextObject; VAR state: TQ3Boolean): TQ3Status; C;
  100. FUNCTION Q3DrawContext_SetDoubleBufferState(context: TQ3DrawContextObject; state: TQ3Boolean): TQ3Status; C;
  101. FUNCTION Q3DrawContext_GetDoubleBufferState(context: TQ3DrawContextObject; VAR state: TQ3Boolean): TQ3Status; C;
  102. {
  103. *****************************************************************************
  104.  **                                                                             **
  105.  **                            Pixmap Data Structure                             **
  106.  **                                                                             **
  107.  ****************************************************************************
  108. }
  109.  
  110. TYPE
  111.     TQ3PixmapDrawContextDataPtr = ^TQ3PixmapDrawContextData;
  112.     TQ3PixmapDrawContextData = RECORD
  113.         drawContextData:        TQ3DrawContextData;
  114.         pixmap:                    TQ3Pixmap;
  115.     END;
  116.  
  117. {
  118. *****************************************************************************
  119.  **                                                                             **
  120.  **                        Pixmap DrawContext Routines                             **
  121.  **                                                                             **
  122.  ****************************************************************************
  123. }
  124. FUNCTION Q3PixmapDrawContext_New({CONST}VAR contextData: TQ3PixmapDrawContextData): TQ3DrawContextObject; C;
  125. FUNCTION Q3PixmapDrawContext_SetPixmap(drawContext: TQ3DrawContextObject; {CONST}VAR pixmap: TQ3Pixmap): TQ3Status; C;
  126. FUNCTION Q3PixmapDrawContext_GetPixmap(drawContext: TQ3DrawContextObject; VAR pixmap: TQ3Pixmap): TQ3Status; C;
  127. {
  128. *****************************************************************************
  129.  **                                                                             **
  130.  **                        Macintosh DrawContext Data Structures                 **
  131.  **                                                                             **
  132.  ****************************************************************************
  133. }
  134.  
  135. TYPE
  136.     TQ3MacDrawContext2DLibrary     = LONGINT;
  137. CONST
  138.     kQ3Mac2DLibraryNone            = {TQ3MacDrawContext2DLibrary}0;
  139.     kQ3Mac2DLibraryQuickDraw    = {TQ3MacDrawContext2DLibrary}1;
  140.     kQ3Mac2DLibraryQuickDrawGX    = {TQ3MacDrawContext2DLibrary}2;
  141.  
  142.  
  143. TYPE
  144.     TQ3MacDrawContextDataPtr = ^TQ3MacDrawContextData;
  145.     TQ3MacDrawContextData = RECORD
  146.         drawContextData:        TQ3DrawContextData;
  147.         window:                    CWindowPtr;
  148.         library:                TQ3MacDrawContext2DLibrary;
  149.         viewPort:                gxViewPort;
  150.         grafPort:                CGrafPtr;
  151.     END;
  152.  
  153. {
  154. *****************************************************************************
  155.  **                                                                             **
  156.  **                        Macintosh DrawContext Routines                         **
  157.  **                                                                             **
  158.  ****************************************************************************
  159. }
  160. FUNCTION Q3MacDrawContext_New({CONST}VAR drawContextData: TQ3MacDrawContextData): TQ3DrawContextObject; C;
  161. FUNCTION Q3MacDrawContext_SetWindow(drawContext: TQ3DrawContextObject; window: CWindowPtr): TQ3Status; C;
  162. FUNCTION Q3MacDrawContext_GetWindow(drawContext: TQ3DrawContextObject; VAR window: CWindowPtr): TQ3Status; C;
  163. FUNCTION Q3MacDrawContext_SetGXViewPort(drawContext: TQ3DrawContextObject; viewPort: gxViewPort): TQ3Status; C;
  164. FUNCTION Q3MacDrawContext_GetGXViewPort(drawContext: TQ3DrawContextObject; VAR viewPort: gxViewPort): TQ3Status; C;
  165. FUNCTION Q3MacDrawContext_SetGrafPort(drawContext: TQ3DrawContextObject; grafPort: CGrafPtr): TQ3Status; C;
  166. FUNCTION Q3MacDrawContext_GetGrafPort(drawContext: TQ3DrawContextObject; VAR grafPort: CGrafPtr): TQ3Status; C;
  167. FUNCTION Q3MacDrawContext_Set2DLibrary(drawContext: TQ3DrawContextObject; library: TQ3MacDrawContext2DLibrary): TQ3Status; C;
  168. FUNCTION Q3MacDrawContext_Get2DLibrary(drawContext: TQ3DrawContextObject; VAR library: TQ3MacDrawContext2DLibrary): TQ3Status; C;
  169. {$ALIGN RESET}
  170. {$POP}
  171.  
  172. {$SETC UsingIncludes := QD3DDrawContextIncludes}
  173.  
  174. {$ENDC} {__QD3DDRAWCONTEXT__}
  175.  
  176. {$IFC NOT UsingIncludes}
  177.  END.
  178. {$ENDC}
  179.